The invention relates to channel allocation methods for music synthesis systems, and in particular to dynamic channel allocation methods.
Music synthesis systems can be employed in various devices or systems, such as mobile phones, computers, or game machines, for music synthesis.
FIG. 1 is a diagram of a conventional method of channel allocation. A musical instrument digital interface player (MIDI player) 100 is shown on the left of FIG. 1 as a source for sending audio instructions. Music instrument digital interface (MIDI) is a protocol designed for recording and playing back music on digital synthesizers. Rather than representing musical sound directly, MIDI transmits information about how music is produced.
MIDI player 100 utilizes channels. Audio instructions from MIDI player 100 correspond to channels thereof. A music synthesizer 102 is shown on the right of FIG. 1. When music synthesizer 102 receives audio instructions from MIDI player 100, the audio instructions are mapped to the corresponding channels in the music synthesizer 102. For example, if an audio instruction 108 comes from channel-1 (104) of MIDI player 100, the audio instruction 108 is sent to channel-1 (106) in the synthesizer 102. An audio instruction 110 from channel-3 (112) is assigned to channel-3 (114) of the synthesizer 102. As mentioned, the music synthesizer 102 performs music synthesis successfully for one audio instruction source 100.
Here, channel-10 in music synthesizer 102 is a specific channel for percussion audio instructions. If audio instructions are percussion type, the allocated channel in MIDI player 100 is channel-10 according to MIDI channel specifications. Thus, percussion audio instructions are always assigned to channel-10 in the music synthesizer 102 according to conventional allocation methods. All audio instructions sent to channel-10 in the music synthesizer 102 are interpreted as percussion audio instructions without pitch.
FIG. 2 is a diagram of an embodiment of channel allocation for multiple MIDI players. Two MIDI players 200, 202 are shown on the left of FIG. 2 as audio instruction sources. A music synthesizer 204 is shown on the right of FIG. 2. If MIDI player-1 (200) and MIDI player-2 (202) send audio instructions 212, 214 from channel-1 (206, 208) to the music synthesizer 204, channel-1 (210) in the music synthesizer 204 cannot be allocated to multiple sources, causing channel allocation failure. Additionally, the music synthesizer 204 has only one channel-10 for percussion audio instructions. Percussion audio instructions from two different sources cannot be allocated properly in the music synthesizer 204. Thus, channel allocation methods of a music synthesizer for multiple sources are desirable.